package com.reactim.user.service;

import com.reactim.user.entity.UserPrivacySetting;

/**
 * 用户隐私设置服务接口
 */
public interface UserPrivacyService {
    
    /**
     * 获取用户隐私设置
     */
    UserPrivacySetting getUserPrivacySetting(Long userId);
    
    /**
     * 更新用户隐私设置
     */
    UserPrivacySetting updatePrivacySetting(Long userId, UserPrivacySetting setting);
    
    /**
     * 重置为默认隐私设置
     */
    UserPrivacySetting resetToDefault(Long userId);
    
    /**
     * 检查用户是否允许被搜索
     */
    boolean canBeSearched(Long userId, String searchType, String searchValue);
    
    /**
     * 检查用户是否允许接收好友请求
     */
    boolean canReceiveFriendRequest(Long fromUserId, Long toUserId);
    
    /**
     * 检查用户是否显示在线状态
     */
    boolean shouldShowOnlineStatus(Long userId);
    
    /**
     * 检查用户是否允许群组邀请
     */
    boolean allowGroupInvite(Long userId);
}